﻿#pragma once

#include <QColor>
#include "UtilsExport.h"

namespace Domy {

class UTILS_EXPORT Utils
{
public:
    Utils();
    ~Utils();

    /**
     * @brief getReverseForegroundColor
     * @note  根据背景色获取翻转前景色（白色或黑色）
     * @param bg_color
     */
    static QColor getReverseForegroundColor(const QColor &bg_color);

    /**
     * @brief unicodeDecode
     * @note  解码为unicode
     * @param content    数据内容
     * @param codec_name 解码名称
     */
    static QString unicodeDecode(const QByteArray &content, const QString &codec_name);

    /**
     * @brief unicodeEncode
     * @note  unicode文本编码
     * @param text       文本
     * @param codec_name 编码名称
     */
    static QByteArray unicodeEncode(const QString &text, const QString &codec_name);

    /**
     * @brief getAllCodecNames
     * @note  获取所有文本编码名称
     */
    static QStringList getAllCodecNames();
};

} // namespace Domy
